//
//  LLStatusCell.swift
//  LLWeibo09
//
//  Created by 林 on 16/4/2.
//  Copyright © 2016年 lin. All rights reserved.
//

import UIKit

class LLStatusCell: UITableViewCell {
    
    // MARK: - 属性
    var status: LLStatus? {
        didSet {
            // 当控制器把模型传给cell的时候调用
            // 将模型传递给LLStatusOriginalView
            originalView.status = status
        }
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    /// 实现这个构造函数
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        
        backgroundColor = UIColor(white: 237 / 255.0, alpha: 1)
        
        prepareUI()
    }

    private func prepareUI() {
        // 1.添加子控件
        contentView.addSubview(originalView)
        contentView.addSubview(bottomView)

        // 2.添加约束
        originalView.snp_makeConstraints { (make) -> Void in
            // 当参照都一样的时候,可以简写
            make.leading.trailing.equalTo(contentView)
            make.top.equalTo(contentView).offset(10)
//            make.height.equalTo(80)
        }
        
        /// 底部约束
        bottomView.snp_makeConstraints { (make) -> Void in
            make.top.equalTo(originalView.snp_bottom)
            make.leading.trailing.equalTo(contentView)
            make.height.equalTo(44)
        }
        
        // 3.当使用autolayout来约束cell里面的控件,并且cell的高度想通过autolayout来自动确定,需要给contentView添加约束
        contentView.snp_makeConstraints { (make) -> Void in
            // contentView的左上右参照cell
            make.leading.top.trailing.equalTo(self)
            
            // contentView底部参照bottomView
            make.bottom.equalTo(bottomView)
        }
    }

    // MARK: - 懒加载 
    /// 原创微博的view
    private lazy var originalView: LLStatusOriginalView = LLStatusOriginalView()
    
    /// 底部视图
    private lazy var bottomView: LLStatusBottomView = LLStatusBottomView()
}
    